/*
 * Axis.h
 *
 *  Created on: Jul 17, 2009
 *  Modified:   Jul 28, 2009
 *      Author: mlrus
 */

#ifndef AXIS_H_
#define AXIS_H_

#include "Common.h"

namespace Axis {
enum Axis {
	HORIZONTAL, VERTICAL, POINT, INVALID
};

inline static const Axis getDual(Axis axis) {
	if (axis == VERTICAL)
		return HORIZONTAL;
	if (axis == HORIZONTAL)
		return VERTICAL;
	return axis;
}

inline static const std::string& toString(Axis::Axis axis) {
	switch (axis) {
		case VERTICAL:
			return Common::vertical;
		case HORIZONTAL:
			return Common::horizontal;
		case POINT:
			return Common::point;
		case INVALID:
			return Common::invalid;
		default:
			return Common::err;
	}
}
}

#endif /* AXIS_H_ */
